﻿//15060430616
//601061
//uu654321

var qXhr = null;
var mXhr = null;

var Scroller = (function(){
	
	var scroller = null;
	function init(){
		scroller = new iScroll('jqnameWrap',{
			hideScrollbar : "isIDevice",
			fadeScrollbar : "isIDevice && has3d",
			useTransition: true,
			handleClick : false
		});
	}
	return {
		scroller : scroller,
		init : init
	}
})();

var CONFIG = {
	url : "http://y.12301.cc/jh/jh_dev.php",
	AJAX_TIMEOUT : 10 * 1000, //ajax请求超时时间
	queryResult_pageSize : 15,//搜索列表每页显示几条item
	errorMesg : {
		jqname : "**请选择产品",
		mobile : "**手机号格式错误",
		date : "请改成yyyy-mm-dd"
	},
	indexPageUrl : "http://y.12301.cc/",
	orderStatus : { //订单状态
		"0" : {
			"txt" : "未使用",
			"color" : "0683e3" 
		},
		"1" : {
			"txt" : "已使用",
			"color" : "31c23f" 
		},
		"2" : {
			"txt" : "已过期",
			"color" : "e22525" 
		},
		"3" : {
			"txt" : "已取消",
			"color" : "c05024" 
		},
		"4" : {
			"txt" : "凭证码被替代",
			"color" : "e22525" 
		},
		"5" : {
			"txt" : "被终端撤销(已取消)",
			"color" : "0683e3" 
		},
		"6" : {
			"txt" : "被终端修改(已使用)",
			"color" : "31c23f" 
		}
	}
};


var Q = (function(){
	var current_page = 1;
	var _queryData = {};
	var scroller = null;
	function initScroll(){
		scroller = new iScroll('queryResWrap',{
			hideScrollbar : "isIDevice",
			fadeScrollbar : "isIDevice && has3d",
			useTransition: true,
			handleClick : false
		});
	}
	function init(){
		$("#queryBtn").on("click",function(e){
			$("#topGoBackBtn").addClass("searchListPage").removeClass("searchPage");
			$("#sehWrap").hide();
			$("#queryResWrap").show();
			$("#queryUl").html('<li style="height:300px; line-height:300px; color:#505050; text-align:center">数据加截中...</li>');
			current_page = 1;
			_queryData = {};
			_queryData["salerid"] = $("#jqnameInp").val();
			_queryData["otel"] = $("#telInp").val();
			_queryData["begintime"] = $("#inp_tb").val();
			_queryData["endtime"] = $("#inp_te").val();
			_queryData["page"] = current_page;
			_query(_queryData,{
				success : function(res){
					var str = _buildHtml(res.list);
					if(res.totalpage > current_page){
						str += '<li class="more"><input id="queryMoreBtn" type="button" value="查看更多..." /></li>'
					}
					$("#queryUl").html(str);
					$("#queryResWrap").show();
				},
				empty : function(){
					$("#queryUl").html('<li class="noResLi">查无相应订单...</li>');
					$("#queryResWrap").show();
				},
				error : function(res){
					$("#queryUl").html('<li class="noResLi">'+res.msg+'</li>');
					$("#queryResWrap").show();
				}
			});
		})
		$("#queryUl").on("click",function(e){
			var target = $(e.target);
			if(target.attr("id") == "queryMoreBtn"){
				$("#queryMoreBtn").val("正在加载数据...")
				current_page++;
				_queryData["page"] = current_page;
				_query(_queryData,{
					success : function(res){
						var str = _buildHtml(res.list);
						$(str).insertBefore($("#queryMoreBtn"));
						if(res.totalpage < current_page){
							$("#queryMoreBtn").hide();
						}else{
							$("#queryMoreBtn").val("查看更多...")
						}
					},
					empty : function(){
						$("#queryMoreBtn").hide();
						alert("没有更多数据");
					},
					error : function(res){
						alert(res.code+"  "+res.msg);
						$("#queryMoreBtn").hide();
					},
					timeout : function(xhr){
						alert("请求超时请稍后重试");
						if(xhr && xhr.abort && typeof xhr.abort == "function"){
							xhr.abort();
						}
					}
				});
			}
		})
	}
	function _query(data,jsonCallbck){
		if(!data.salerid) return;
		data.action = data.action || "OrderSearch";
		data.page = data.page || current_page;
		data.begintime = data.begintime || "";
		data.endtime = data.endtime || "";
		data.otel = data.otel || "";
		qXhr = $.ajax({
			url : CONFIG.url,
			type : "GET",
			dataType : "json",
			data : data,
			timeout : CONFIG.AJAX_TIMEOUT,
			success : function(res){
				if(res && res.code==200 && res.list.length>0){ //成功回调
					if(jsonCallbck && jsonCallbck.success && typeof jsonCallbck.success == "function"){ 
						jsonCallbck.success(res);
					}
				}else if(res.list && !res.list.length){ //返回空
					if(jsonCallbck && jsonCallbck.empty && typeof jsonCallbck.empty == "function"){ 
						jsonCallbck.empty();
					}
				}else if(res.code==102){
					window.location = CONFIG.indexPageUrl;
				}else{ //错误回调
					if(jsonCallbck && jsonCallbck.error && typeof jsonCallbck.error == "function"){ 
						jsonCallbck.error(res);
					}
				}
				setTimeout(function(){
					if(!scroller){
						initScroll();
					}else{
						scroller.refresh();
					}
				},1000)
			},
			error : function(xhr,textStatus){
				if(textStatus == "timeout"){ //请求超时
					if(jsonCallbck && jsonCallbck.timeout && typeof jsonCallbck.timeout == "function"){ 
						jsonCallbck.timeout(xhr);
					}
				}else{
				
				}
			}
		})
	}
	function _buildHtml(res){
		var str = "";
		for(var i in res){
			str += '<li class="item">';
			str += '<input type="hidden" name="" class="tid" value="'+res[i]["tid"]+'"/>';
			str += '<p><span class="lt">手机号<i class="vHidden">号</i></span><span class="rt otel">'+res[i]["mobile"]+'</span></p>';
			str += '<p><span class="lt">取票人<i class="vHidden">人</i></span><span class="rt oname">'+res[i]["name"]+'</span></p>';
			str += '<p><span class="lt">票类<i class="vHidden">票类</i></span><span class="rt otick">'+res[i]["title"]+'</span></p>';
			str += '<p><span class="lt">数量<i class="vHidden">数量</i></span><span class="rt onum">'+res[i]["num"]+'</span></p>';
			str += '<p><span class="lt">订单号<i class="vHidden">号</i></span><span class="rt ordernum">'+res[i]["ordernum"]+'</span></p>';
			str += '<p><span class="lt">游玩时间</span><span class="rt otime">'+res[i]["time"]+'</span></p>';
			str += '<p><span class="lt">订单状态</span><span class="rt ostuts" style="color:#'+CONFIG.orderStatus[res[i]["status"]]["color"]+'">'+CONFIG.orderStatus[res[i]["status"]]["txt"]+'</span></p>';
			//新增了一个字段，【ifpack】,如果ifpack==2,代表这个订单是套票里面的自定的，禁止修改。
			if(res[i]["num"] == 1){
				str += '<p><input type="button" class="manifyBtn disable" value="票数大于1张方可修改"/></p>';
			}else if(res[i]["ifpack"] == 2){
				str += '<p><input type="button" class="manifyBtn disable" value="套票子票不能修改"/></p>';
			}else if(res[i]["status"] !== 0){
				str += '<p><input type="button" class="manifyBtn disable" value="只有票据未使用的才能修改"/></p>';
			}else{
				str += '<p><input type="button" class="manifyBtn enable" value="修 改" ontouchend="Mt.initManify(this)"/></p>';
			}
            if(res[i]["chk"] == 1)
                str += '<p><input type="button" class="chkBtn" value="验证" ontouchend="Mt.initChk(this)"/></p>';
            else if(res[i]["chk"] == 2)
                str += '<p><input type="button" class="manifyBtn disable" value="只有联票的主票才能验证"/></p>';
			str += '</li>';
		}
		return str
	}
	
	return { init : init }
	
})();

//修改票数
var Mt = (function(){
	function initManify(target){
		target = $(target);
		$("#topGoBackBtn").removeClass("indexPage").removeClass("searchListPage").addClass("manifyPage");
		var p = target.parents(".item");
		$("#mt_orderNum").text(p.find(".ordernum").text());
		$("#mt_name").text(p.find(".oname").text());
		$("#mt_otel").text(p.find(".otel").text());
		$("#mt_time").text(p.find(".otime").text());
		$("#mt_ticketName").text(p.find(".otick").text());
		$("#mt_ticketNum").text(p.find(".onum").text());
		$("#mt_tid").val(p.find(".tid").val());
		$("#mtW").show();
	}
	function init(){
		$("#centManif").on("click",function(){
			if($(this).hasClass("manifying")) return;
			var ov = $("#mt_ticketNum").text();
			var nv = $("#ticNum").val();
			ov = parseFloat(ov);
			nv = parseFloat(nv);
			if(nv >= ov){
				alert("修改票数只能减少不能增加");
				$("#ticNum").val("");
				return;
			}
			$("#centManif").val("修改中...").addClass("manifying");
			mXhr = $.ajax({
				url : CONFIG.url,
				type : "POST",
				dataType : "json",
				timeout : CONFIG.AJAX_TIMEOUT,
				data : {
					"action" : "OrderModify",
					"ordernum" : $("#mt_orderNum").text(),
					"tnum" : $("#ticNum").val(),
					"tid" : $("#mt_tid").val()
				},
				success : function(res){
					console.log(res)
					if(res && res.code == 200){
						alert("修改成功！");
					}else{
						alert(res.msg);
						$("#ticNum").val("");
					}
					$("#centManif").val("修 改").removeClass("manifying");
				},
				error : function(xhr,textStatus){
					if(textStatus == "timeout"){
						alert("请求超时，请稍后重试。");
						if(xhr && xhr.abort && typeof xhr.abort == "function"){
							xhr.abort();
						}
					}else{
						alert("修改失败请稍后重试");
						$("#centManif").val("修 改").removeClass("manifying");
						$("#ticNum").val("");
					}
				}
			})
		})
		$("#cancelManif").on("click",function(e){
			if(mXhr && mXhr.abort && typeof mXhr.abort == "function"){
				mXhr.abort();
				mXhr = null;
			}
		})
	}
    function Code_Verify(cn){
        var vcode;
        $.ajax({
            async:false,
            url:'//y.12301.cc/voucher_check.php',
            data:{act:'Code_Verify',orderid:cn},
            type:'post',
            success:function(vc){
                if(vc!='' && !isNaN(vc)){
                    vcode = vc;
                }
            }
        });
        return vcode;
    }
     function initChk(target){
        target = $(target);
        var p = target.parents(".item");
        var cn = p.find(".ordernum").text(), salerid=$("#jqnameInp").val();
        if(cn=='' || isNaN(cn) ){
            return false;
        }
         var vcode=Code_Verify(cn);

         $.ajax({
             url:'//y.12301.cc/voucher_check.php',
             data:{act:'check',certnum:vcode,salerid:salerid},
             dataType:'json',
             type:'post',
             beforeSend:function(){
                 $("button.chkBtn").attr('disabled','disabled');
                 $("button.chkBtn").css('background','#eaeaea');
             },
             success:function(data){
                 if(data.errormsg && data.errormsg=='unlogin'){
                     alert('您还未登录，无法执行此操作！');
                     return;
                 }
                 if(data.errormsg) {
                     alert(data.errormsg);
                 }
                 if( !data.errormsg && data.successMsg=='ok' ) {
                     alert('验证成功!')
                 }
             },
             error:function(data){
                 alert(data);
             }
         });

    }

	return {
		init : init,
		initManify : initManify,
        initChk : initChk
	}
	
})();

var GoBack = (function(){
	
	function init(){
		$("#topGoBackBtn").on("click",function(e){
			var target = $(this);
			if(target.hasClass("searchListPage")){
				$("#queryResWrap").hide();
				$("#sehWrap").show();
				$("#topGoBackBtn").removeClass("searchListPage").addClass("searchPage");
				if(qXhr && qXhr.abort && typeof qXhr.abort == "function"){
					qXhr.abort();
					qXhr = null;
				}
			}else if(target.hasClass("searchPage")){
				window.location = CONFIG.indexPageUrl;
			}else if(target.hasClass("manifyPage")){
				$("#mtW").hide();
				$("#queryResWrap").show();
				$("#topGoBackBtn").removeClass("manifyPage").addClass("searchListPage");
				if(mXhr && mXhr.abort && typeof mXhr.abort == "function"){
					mXhr.abort();
					mXhr = null;
				}
			}
		})
	}
	return { init : init}
})()

$(function(){
	
	Q.init()
	Mt.init();
	GoBack.init();
})

